package org.footballmanager.pandafootball.system.service;

import org.footballmanager.pandafootball.system.domain.FootTableTitle;
import org.footballmanager.pandafootball.system.domain.enums.JNFL;
import org.footballmanager.pandafootball.system.form.impl.FootTableTitleSearchForm;
import org.springframework.ui.Model;

import javax.servlet.http.HttpServletRequest;
import java.util.List;
import java.util.Map;

public interface FootTableTitleService extends BaseService<FootTableTitle> {
    /**
     * 根据表名称查询表头列表
     *
     * @param tableName 表名称
     * @return 表头列表
     */
    Map<String, String> findByTableName(String tableName);

    /**
     * 根据表名称查询表头列表
     *
     * @param tableName 表名称
     * @return 表头列表
     */
    List<FootTableTitle> findListByTableName(String tableName);

    /**
     * 根据表名称查询表头列表
     *
     * @param tableName 表名称
     * @param jnfl      技能分类
     * @return 表头列表
     */
    List<FootTableTitle> findByTableNameAndJnfl(String tableName, JNFL jnfl);

    /**
     * 查询
     *
     * @param entityname               实体类名
     * @param map                      参数
     * @param footTableTitleSearchForm 条件
     */
    void search(String entityname, Model map, FootTableTitleSearchForm footTableTitleSearchForm);

    /**
     * 删除所有
     *
     * @param footTableTitleSearchForm 条件
     * @param request                  请求
     */
    void deleteAll(FootTableTitleSearchForm footTableTitleSearchForm, HttpServletRequest request);
}